1. Technical Field
Embodiments of the present invention relate generally to a solid state storage system and its control method, and more particularly, to a solid state storage system and a control method thereof.
2. Related Art
Nonvolatile memories are widely employed as storage units in portable information apparatuses. In recent years, there have been proposed solid state drives or disks (SSDs) using NAND flash memories instead of hard disk drives (HDDs) in personal computers, rapidly encroaching the market of HDDs.
Such types of a solid state drives (hereinafter, referred to as “solid state storage system”) are likely to employ flash memories that include a plurality of memory areas in which each memory area is composed of plural pages. As is well known, in a flash memory, operations for reading and writing are executed in the unit of page. To update data of a page, the data is written therein after erasing the block including the page to be updated.
Since semiconductor fabrication processes are carried out in microscopic dimensions, defects can occur when manufacturing the large numbers of flash memory cells. In addition, physical defects can also be caused by gradual degradation processes that arise from the myriad of write operations that occur because write operations usually require high voltages to be applied at memory cells. For those and other reasons, it would be impossible to correctly write predetermined data into a page having such a physical defect. Accordingly, if a failure in the write operation has occurred in a physical defect area rather than an operational margin, then it is preferable that the block which includes the physical defective page should be identified, treated and/or avoided as a bad block.
FIG. 1 schematically shows a general sequence of processing a bad block.
Referring to FIG. 1, an operation failure in a physical block 1 is shown to be due to a physical defect while performing a writing operation of new data therein. In this case, another physical block 2 must be allocated thereto instead of the physical block 1 in which the operation fail has occurred. Then, only valid pages of the physical block 1 are copied into the physical block 2 and the physical block 2 is processed into a bad block. Processing the physical block 1 as a bad block is to essentially exclude the physical block 1 from subsequent block allocations so that the bad block is not used afterwards. During this process, in addition to excluding the defective pages of the physical block 1, it is also necessary to copy data from the non-defective pages of the physical block into the physical block 2. These copying operations are carried out in units of pages and as a result lengthens the data processing time.